package com.settlement.system.config;

import com.settlement.system.common.constant.KafkaConstants;
import org.apache.kafka.clients.admin.NewTopic;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class KafkaInitialConfiguration {
    /**
     * 转换标准订单的消息队列
     */
    @Bean
    public NewTopic HWG_TOPIC_ORDER_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_ORDER_QUEUE, 4, (short) 1);
    }

    /**
     * 转换标准账单的消息队列
     */
    @Bean
    public NewTopic HWG_TOPIC_BILL_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_BILL_QUEUE, 4, (short) 1);
    }

    @Bean
    public NewTopic HWG_TOPIC_FIX_BILL_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_FIX_BILL_QUEUE, 4, (short) 1);
    }

    /**
     * 抖音账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_DY_BILL() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_DY_BILL, 1, (short) 1);
    }

    /**
     * 抖音资金流水
     */
    @Bean
    public NewTopic HWG_TOPIC_DY_FUND_FLOW() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_DY_FUND_FLOW, 1, (short) 1);
    }

    /**
     * 抖音转换标准订单和账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_DY_STANDARD_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_DY_STANDARD_QUEUE, 2, (short) 1);
    }

    /**
     * 京东账单
     */
    @Bean
    public NewTopic HWG_TOPIC_JD_BILL() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_JD_BILL, 1, (short) 1);
    }

    /**
     * 京东资金流水
     */
    @Bean
    public NewTopic HWG_TOPIC_JD_FUND_FLOW() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_JD_FUND_FLOW, 1, (short) 1);
    }

    /**
     * 京东转换标准订单和账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_JD_STANDARD_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_JD_STANDARD_QUEUE, 2, (short) 1);
    }

    /**
     * 拼多多保证金
     */
    @Bean
    public NewTopic HWG_TOPIC_PDD_DEPOSIT() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_PDD_DEPOSIT, 1, (short) 1);
    }

    /**
     * 拼多多资金流水
     */
    @Bean
    public NewTopic HWG_TOPIC_PDD_FUND_FLOW() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_PDD_FUND_FLOW, 1, (short) 1);
    }

    /**
     * 拼多多转换标准订单和账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_PDD_STANDARD_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_PDD_STANDARD_QUEUE, 2, (short) 1);
    }

    /**
     * 视频号资金流水
     */
    @Bean
    public NewTopic HWG_TOPIC_SPH_FUND_FLOW() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_SPH_FUND_FLOW, 1, (short) 1);
    }

    /**
     * 视频号转换标准订单和账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_SPH_STANDARD_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_SPH_STANDARD_QUEUE, 2, (short) 1);
    }

    /**
     * 天猫账单
     */
    @Bean
    public NewTopic HWG_TOPIC_TM_BILL() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_TM_BILL, 1, (short) 1);
    }

    /**
     * 天猫资金流水
     */
    @Bean
    public NewTopic HWG_TOPIC_TM_FUND_FLOW() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_TM_FUND_FLOW, 1, (short) 1);
    }

    /**
     * 天猫转换标准订单和账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_TM_STANDARD_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_TM_STANDARD_QUEUE, 2, (short) 1);
    }

    /**
     * 微店资金流水
     */
    @Bean
    public NewTopic HWG_TOPIC_WD_FUND_FLOW() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_WD_FUND_FLOW, 1, (short) 1);
    }

    /**
     * 微店转换标准订单和账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_WD_STANDARD_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_WD_STANDARD_QUEUE, 2, (short) 1);
    }

    /**
     * 微盟资金流水
     */
    @Bean
    public NewTopic HWG_TOPIC_WM_FUND_FLOW() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_WM_FUND_FLOW, 1, (short) 1);
    }

    /**
     * 微盟交易明细
     */
    @Bean
    public NewTopic HWG_TOPIC_WM_TRADE_DETAIL() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_WM_TRADE_DETAIL, 1, (short) 1);
    }

    /**
     * 微盟转换标准订单和账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_WM_STANDARD_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_WM_STANDARD_QUEUE, 2, (short) 1);
    }

    /**
     * 小红书账单
     */
    @Bean
    public NewTopic HWG_TOPIC_XHS_BILL() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_XHS_BILL, 1, (short) 1);
    }

    /**
     * 小红书退款
     */
    @Bean
    public NewTopic HWG_TOPIC_XHS_REFUND() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_XHS_REFUND, 1, (short) 1);
    }

    /**
     * 小红书货款明细
     */
    @Bean
    public NewTopic HWG_TOPIC_XHS_SALE_DETAIL() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_XHS_SALE_DETAIL, 1, (short) 1);
    }

    /**
     * 小红书微信明细
     */
    @Bean
    public NewTopic HWG_TOPIC_XHS_WECAHT_DETAIL() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_XHS_WECAHT_DETAIL, 1, (short) 1);
    }

    /**
     * 小红书转换标准订单和账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_XHS_STANDARD_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_XHS_STANDARD_QUEUE, 2, (short) 1);
    }

    /**
     * 有赞资金流水
     */
    @Bean
    public NewTopic HWG_TOPIC_YZ_FUND_FLOW() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_YZ_FUND_FLOW, 1, (short) 1);
    }

    /**
     * 有赞转换标准订单和账单队列
     */
    @Bean
    public NewTopic HWG_TOPIC_YOUZAN_STANDARD_QUEUE() {
        return new NewTopic(KafkaConstants.HWG_TOPIC_YOUZAN_STANDARD_QUEUE, 2, (short) 1);
    }
}
